xenpaging: correct dropping of pages to avoid full ring buffer
authorOlaf Hering <olaf@aepfle.de>
Fri, 10 Jun 2011 08:47:14 +0000 (10:47 +0200)
committerOlaf Hering <olaf@aepfle.de>
Fri, 10 Jun 2011 08:47:14 +0000 (10:47 +0200)
commit7c4c4b9c333e48ad9f32e37cbaaf07f524e33973
treea17e59db3d5ca86738e8a49857fc9b970f8070dc
parentd991b140458c33c2fc0137a43b406bb15c284558
xenpaging: correct dropping of pages to avoid full ring buffer

Doing a one-way channel from Xen to xenpaging is not possible with the
current ring buffer implementation. xenpaging uses the mem_event ring
buffer, which expects request/response pairs to make progress. The
previous patch, which tried to establish a one-way communication from
Xen to xenpaging, stalled the guest once the buffer was filled up with
requests. Correct page-dropping by taking the slow path and let
p2m_mem_paging_resume() consume the response from xenpaging. This makes
room for yet another request/response pair and avoids hanging guests.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
tools/xenpaging/xenpaging.c